/*
	

题目 1：数字金字塔
**要求**：  
输入一个数字 `n`，打印如下金字塔（仅用循环和条件判断实现）：  
```  
    1  
   121  
  12321  
 1234321  
（假设 n=4）  
```  
**提示**：  
- 使用双重循环控制行和列。  
- 左侧空格数、数字递增、数字递减分开处理。  

*/

/*
	思路分析：
	1.画出一个矩形
	****
	****
	****
	****
	循环的事情：打印四个星号 + 一个换行
	for循环
	循环四要素 四行四列 
	（1）外层控制行4行  循环变量 i 循环变量的迭代 i++
	（2）内层控制列 4列 循环变量 j 循环变量的迭代 j++


	2.画半个金字塔
	*		第1行：有1个*
	**		第2行：有2个*
	***		第3行：有3个*
	****	第4行：有4个*
	列和行的关系：i 和 j的关系   i = j


	3.画整个金字塔
	    *  		第1行：有1个星     	有3个空格   总行数 - 1 
	   ***  	第2行：有3个星     	有2个空格	   总行数 - 2
	  *****  	第3行：有5个星	     	有1个空格   总行数 - 3
	 ******* 	第4行：有7个星		 	有0个空格   总行数 - 4
	列和行的关系：i和j 的关系  2 * i - 1 = j

	4.将*替换成数字
	 	1      递增：第1行 1			递减：	第1行  
	   121     		第2行 1 2				第2行 1
	  12321    		第3行 1 2 3				第3行 2 1
	 1234321   		第4行 1 2 3 4			第4行 3 2 1

	将星的实现方案分成三个部分
	（1）先输出空格
	（2）在输出递增
	（3）在输出递减 
*/

/*
	let output = "";
	for (let i = 1; i < 5; i++) {
		for (let j = 1; j < 5; j++) {
			output += "*"
		}
		output += "\n";
	}
	console.log(output);
*/

/*
	let output = "";
	for (let i = 1; i < 5; i++) {
		for (let j = 1; j <= i; j++) {
			output += "*"
		}
		output += "\n";
	}
	console.log(output);

*/

/*
let output = "";
for (let i = 1; i < 5; i++) {
	// 分成两个部分 
	// （1）画空格
	// （2）画星
	for (let j = 1; j <= 4 - i; j++) {
		output += " "
	}
	for (let j = 1; j <= 2 * i - 1; j++) {
		output += "*"
	}
	output += "\n";
}
console.log(output);


*/

let output = "";
let n = prompt("请输入要显示的行数：");
for (let i = 1; i <= n; i++) {
	// 将星的实现方案分成三个部分
	// （1）先输出空格
	// （2）在输出递增
	// （3）在输出递减 
	for (let j = 1; j <= n - i; j++) {
		output += " "
	}
	for (let j = 1; j <= i; j++) {
		output += j;
	}

	for (let j = i - 1; j >= 1; j--) {
		output += j;
	}
	output += "\n";
}
console.log(output);

// 能力：
// （1）把复杂问题简单化
// （2）先写不变的，在找出变化的东西进行优化


//定义一个变量 是可以直接使用的 
// 污染全局变量  严令禁止！
b = 1;
console.log(b);
















